“Best Practice” replaced by Jackson’s innovations

 

“Best Practice”

Jackson’s innovation

Program Design (1970-Present)

flow charts

top-down “stepwise refinement” (Edsger Dijkstra, Niklaus Wirth);  modular programming (David Parnas)

 

JSP

tree diagrams

“constructive design” - composition of input and output models; each step is constructed using guidelines that enable designer to verify correctness

System Development (1970-Present)

top-down hierarchic decomposition;

a system is a hierarchy of functions (IBM’s HIPO)

 

JSD

entity-based design; system a network of communicating sequential processes, one process for each entity

OOAD (1987-Present)

solution-based

·        use case analysis - at the interface of the machine with the real world

·        O-O paradigm, a  formal programming paradigm

·        UML

 

Most SE deals with solution design; PF is a counterweight to this tendency

Problem Frames

focus on problems - description of problem domain, requirements, and specification; separation of problem from solution (separation of concerns)

·        problems are located in application domain, further away from the machine

·        real world is an informal domain; must “bridge the gap” between the requirement and the machine specification